//
//  RangeSum.swift
//  CommandLineTool1
//
//  Created by May on 2025/3/26.
//

import Foundation

/// 范围和：取列表中一个范围元素的和
/// 两种方式：
/// 1. 预处理：新建一个列表，每个节点代表当前所有元素的和
/// 2. 矩阵：横坐标代表起始位置，纵坐标代表截止位置，坐标点上的元素表示范围的累加和，只有矩阵右上半部分有效

class RangeSum {
    
    private var preSum: [Int] = []
    
    // matix
    private func rangeSumSub1(arr: [Int]) {
        
    }
    
    // preSum 前缀和数组
    private func rangeSumSub2(arr: [Int]) {
        preSum[0] = arr[0]
        for i in 1..<arr.count {
            preSum[i] = preSum[i-1] + arr[i]
        }
    }
    
    static func rangeSum(arr: [Int], L: Int, R: Int) {
        
    }
}
